package com.study.mapper;


import com.study.pojo.dto.Heartbeat;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;

import java.util.List;

@Mapper
public interface HeartbeatMapper {
    /**
     * 查询所有心跳事件
     *
     * @return 倒序查询我给对象添加的所有事件 并指定从哪里开始查询多少条数
     */
    List<Heartbeat> queryAll(@Param("loveId") Integer loveId, @Param("start") Integer start, @Param("num") Integer num);

    /**
     * 添加心跳事件
     *
     * @param heartbeat
     * @return 成功返回1 否则-1Ï
     */
    int insertHeart(Heartbeat heartbeat);


    /**
     * 获取我为对方最后一次添加的数据
     *
     * @param loveId
     * @return 返回最后一次的数据
     */
    Heartbeat getLastHeartbeat(@Param("loveId") Integer loveId);

    /**
     * @param id
     * @return 根据id查询数据
     */
    Heartbeat getHeartbeatById(@Param("id") Integer id);

    /**
     * 更新心跳事件
     *
     * @param heartbeat
     * @return 成功返回1 否则0
     */
    int updateHeartbeat(Heartbeat heartbeat);

    /**
     * @return 获取loveId用户的总条数
     */
    @Select("select count(*) from tb_heartbeat where love_id=#{id}")
    int getCount(@Param("id") Integer id);
}
